// JavaScript Document
//PREPAR DIALOGOS
$(function()
{
	$("#atencion").dialog
	({
 		autoOpen:false,
		bgiframe:true,
		modal:true,
		buttons:
		{
			Aceptar:function()
			{
				$(this).dialog('close');
			}
		}
	});	
	$("#confirmacion").dialog
	({
 		autoOpen:false,
		bgiframe:true,
		modal:true,
		buttons:
		{
			No:function()
			{
				$(this).dialog('close');
			},
			Si:function()
			{
				EjecutarAccion();
				$(this).dialog('close');
			}
		}
	});
	$("#procesando").dialog
	({
 		autoOpen:false,
		bgiframe:true,
		modal:true
	});
	$("#registros").dialog
	({
 		autoOpen:false,
		bgiframe:true,
		modal:true,
		width:500,
		height:300,
		buttons:
		{
			Cerrar:function()
			{
				$(this).dialog('close');
			}
		}
	});	
});

//VARAIBLES GLOBALES
var accion;

function CrearXHRObject()
{
	var ajax;
	//OTROS NAVEGADORES
	if (window.XMLHttpRequest)
		ajax = new XMLHttpRequest();
	//INTERNET EXPLORER
	else
	if (window.ActiveXObject)
		ajax = new ActiveXObject("Microsoft.XMLHTTP");
	else
	{
		document.getElementById('atencion').innerHTML = "<p>"+
		"<span class=\"ui-icon ui-icon-circle-close\" style=\"float:left; margin:0 7px 50px 0;\"></span>"+
		"<b>Su navegador de Internet no soporta XMLHTTP Request, el sistema no funcionar&aacute; correctamente.</b></p>";
		$("#atencion").dialog('open');
	}
	return ajax;
}

function NumerosAleatorios()
{
	var numero1 = Math.floor(Math.random()*11);
	var numero2 = Math.floor(Math.random()*11);
	var numero3 = Math.floor(Math.random()*11);
	var numero4 = Math.floor(Math.random()*11);
	var numero5 = Math.floor(Math.random()*11);
	var aleatorio = numero1+""+numero2+""+numero3+""+numero4+""+numero5;
	return aleatorio;
}

function EjecutarAccion()
{
	$("#procesando").dialog('close');
	if (accion == "limpiar_formulario")
		document.getElementById('form1').reset();
	if (accion == "guardar_formulario")
	{
		document.getElementById('procesando').innerHTML = "Procesando... <img src=\"/jde/img/progreso.gif\" width=\"32\" height=\"32\" align=\"absmiddle\" />";
		$("#procesando").dialog('open');
		document.getElementById('form1').submit();
	}
	if (accion == "conexion_inactiva")
	{
		document.getElementById('atencion').innerHTML = "<p>"+
		"<span class=\"ui-icon ui-icon-circle-close\" style=\"float:left; margin:0 7px 50px 0;\"></span>"+
		"<b>La sesi&oacute;n ha finalizado, no se pueden guardar los datos.</b></p>";
		$("#atencion").dialog('open');
	}
	if (accion == "cancelar")
	{
		var aleatorio = NumerosAleatorios();
		window.location = "/jde/?random="+aleatorio;
	}
}

function CargarPaises()
{
	EliminarTodasCompanias();
	document.getElementById('procesando').innerHTML = "Cargando... <img src=\"/jde/img/progreso.gif\" width=\"32\" height=\"32\" align=\"absmiddle\" />";
	$("#procesando").dialog('open');
	var ajax = CrearXHRObject();
	var aleatorio = NumerosAleatorios();
	ajax.open("GET","/jde/Pagos/Dialogos/Html/Paises?flag=ok&random="+aleatorio,true);
	ajax.send(null);
	ajax.onreadystatechange = function()
	{
		if(ajax.readyState == 4)
		{
			if(ajax.status == 200)
			{
				document.getElementById('registros').innerHTML = ajax.responseText;
				 $("#procesando").dialog('close');
				 $("#registros").dialog('open');
			}
		}
	};
}

function SeleccionarPais(descripcion,codigo)
{
	document.getElementById('pais').value = descripcion;
	$("#registros").dialog('close');
}

function CargarCompanias()
{
	var pais = document.getElementById('pais').value;
	if (pais.length == 0)
	{
		document.getElementById('atencion').innerHTML = "<p>"+
		"<span class=\"ui-icon ui-icon-circle-close\" style=\"float:left; margin:0 7px 50px 0;\"></span>"+
		"<b>Primero seleccione el pa&iacute;s.</b></p>";
		$("#atencion").dialog('open');
	}
	else
	{
		document.getElementById('procesando').innerHTML = "Cargando... <img src=\"/jde/img/progreso.gif\" width=\"32\" height=\"32\" align=\"absmiddle\" />";
		$("#procesando").dialog('open');
		var ajax = CrearXHRObject();
		var aleatorio = NumerosAleatorios();
		ajax.open("GET","/jde/Pagos/Dialogos/Html/Companias?flag=ok&pais="+pais+"&random="+aleatorio,true);
		ajax.send(null);
		ajax.onreadystatechange = function()
		{
			if(ajax.readyState == 4)
			{  
				if(ajax.status == 200)
				{
					document.getElementById('registros').innerHTML = ajax.responseText;
					$("#procesando").dialog('close');
					$("#registros").dialog('open');
				}
			}
		};
	}
}

function SeleccionarCompania(descripcion,codigo)
{
	var lista = document.getElementById('companias');
	var compania = document.createElement("option");
	compania.text = descripcion;
	compania.value = descripcion;
	try
	{
		//OTROS NAVEGADORES
		lista.add(compania,null);
	}
	catch (error)
	{
		//INTERNET EXPLORER
		lista.add(compania);
	}
}

function EliminarCompania()
{
	var lista = document.getElementById('companias');
	var flag = false;
 	for (var i = lista.options.length - 1; i>=0; i--)
	{
		if (lista.options[i].selected)
		{
			flag = true;
			lista.remove(i);
		}
    	}
	if (flag == false)
	{
		document.getElementById('atencion').innerHTML = "<p>"+
		"<span class=\"ui-icon ui-icon-circle-close\" style=\"float:left; margin:0 7px 50px 0;\"></span>"+
		"<b>No ha seleccionado ninguna \"Compa&ntilde;&iacute;a\" para quitar de la lista.</b></p>";
		$("#atencion").dialog('open');
	}
	if (lista.options.length == 0)
		document.getElementById('todas_companias').checked = false;
}

function EliminarTodasCompanias()
{
	var lista = document.getElementById('companias');
	for (var i = lista.options.length-1; i >= 0; i--)
		lista.remove(i);
}

function TodasCompanias()
{
	var lista = document.getElementById('companias');
	var todas_companias = document.getElementById('todas_companias');
	if (todas_companias.checked == true)
	{
		EliminarTodasCompanias();
		var compania = document.createElement("option");
		compania.text = "TODAS";
		compania.value = "TODAS";
		try
		{
			//OTROS NAVEGADORES
			lista.add(compania,null);
		}
		catch (error)
		{
			//INTERNET EXPLORER
			lista.add(compania);
		}
	}
	else
		EliminarTodasCompanias();
}

function LimpiarFormulario()
{
	accion = "limpiar_formulario";
	document.getElementById('confirmacion').innerHTML = "<p>"+
	"<span class=\"ui-icon ui-icon-alert\" style=\"float:left; margin:0 7px 50px 0;\"></span>"+
	"Esta acci&oacute;n limpiar&aacute; todos los campos del formulario actual<br/><br/>"+
	"<b>&iquest;Esta seguro?</b></p>";
	$("#confirmacion").dialog('open');
}

function Evaluar()
{
	var flag = true;
	var pais = document.getElementById('pais');
	if (pais.value.length == 0)
	{
		pais.style.backgroundColor = "red";
		pais.style.color = "white";
		flag = false;
	}
	else
	{
		pais.style.backgroundColor = "#DFDFDF";
		pais.style.color = "black";
	}
	var companias = document.getElementById('companias');
	if (companias.options.length == 0)
	{
		companias.style.backgroundColor = "red";
		companias.style.color = "white";
		flag = false;
	}
	else
	{
		companias.style.backgroundColor = "white";
		companias.style.color = "black";
	}
	var nombre = document.getElementById('nombre');
	if (nombre.value.length == 0)
	{
		nombre.style.backgroundColor = "red";
		nombre.style.color = "white";
		flag = false;
	}
	else
	{
		nombre.style.backgroundColor = "white";
		nombre.style.color = "black";
	}	
	var usuario = document.getElementById('usuario');
	if (usuario.value.length == 0)
	{
		usuario.style.backgroundColor = "red";
		usuario.style.color = "white";
		flag = false;
	}
	else
	{
		usuario.style.backgroundColor = "white";
		usuario.style.color = "black";
	}
	var password = document.getElementById('password');
	if (password.value.length == 0)
	{
		password.style.backgroundColor = "red";
		password.style.color = "white";
		flag = false;
	}
	else
	{
		password.style.backgroundColor = "white";
		password.style.color = "black";
	}
	var mail = document.getElementById('mail');
	if (mail.value.length == 0)
	{
		mail.style.backgroundColor = "red";
		mail.style.color = "white";
		flag = false;
	}
	else
	{
		mail.style.backgroundColor = "white";
		mail.style.color = "black";
	}
	if (flag == false)
		document.getElementById('evaluacion').innerHTML = "<img src=\"/jde/img/alerta.png\" width=\"24\" height=\"24\" align=\"absmiddle\" />"+
		"&nbsp;<b>ATENCI&Oacute;N: Complete los campos indicados en color rojo.</b>";
	if (flag == true)
	{
		document.getElementById('evaluacion').innerHTML = "";
		Guardar();
	}
}

function Guardar()
{
	document.getElementById('procesando').innerHTML = "Procesando... <img src=\"/jde/img/progreso.gif\" width=\"32\" height=\"32\" align=\"absmiddle\" />";
	$("#procesando").dialog('open');
	//SELECCIONAR TODOS LOS VALORES DE LAS LISTAS PARA MANDAR A GUARDAR
	var lista = document.getElementById('companias');
	for (var j=0; j<lista.options.length; ++j)
		lista[j].selected = true;
	ComprobarConexion();
}

function ComprobarUsuario()
{
	var ajax = CrearXHRObject();
	var aleatorio = NumerosAleatorios();
	var usuario = document.getElementById('usuario').value;
	ajax.open("GET","/jde/Pagos/Herramientas/Generales/ComprobarUsuario?flag=ok&usuario="+usuario+"&random="+aleatorio,true);
	ajax.send(null);
	ajax.onreadystatechange = function()
	{
		if(ajax.readyState == 4)
		{
			if(ajax.status == 200)
			{
				var resp = ajax.responseText;
                		//VARIABLES
                		var valido_;
		                var valido;
		                var existe_;
		                var existe;
				//OTROS NAVEGADORES
				try
				{
					var parser = new DOMParser();
					var dom = parser.parseFromString(resp,"text/xml");
					valido_ = dom.getElementsByTagName("valido");
                    			valido = valido_[0].childNodes[0].nodeValue;
					existe_ = dom.getElementsByTagName("existe");
					existe = existe_[0].childNodes[0].nodeValue;
				}
				//INTERNET EXPLORER
				catch (error)
				{
					var xml = new ActiveXObject("Microsoft.XMLDOM");
					xml.async = "false";
					xml.loadXML(resp);
	                	    	valido_ = xml.getElementsByTagName("valido");
        		        	valido = valido_[0].firstChild.data;
					existe_ = xml.getElementsByTagName("existe");
					existe = existe_[0].firstChild.data;
				}
				//RESULTADO XML
                		if ((valido == "Si")&&(existe == "Si"))
				{
					document.getElementById('atencion').innerHTML = "<p>"+
					"<span class=\"ui-icon ui-icon-circle-close\" style=\"float:left; margin:0 7px 50px 0;\"></span>"+
					"<b>El usuario especificado ya existe.</b></p>";
					document.getElementById('usuario').value = "";
                    			$("#atencion").dialog('open');
				}
				if ((valido == "No")&&(existe == "Sesion"))
				{
					document.getElementById('atencion').innerHTML = "<p>"+
					"<span class=\"ui-icon ui-icon-circle-close\" style=\"float:left; margin:0 7px 50px 0;\"></span>"+
					"<b><a href=\"/jde/Pagos/?sesion_finalizada=ok\" class=\"menu_top\">La sesi&oacute;n ha finalizado, "+
					"haga clic en este texto para reiniciar.</a></b></p>";
                    			$("#atencion").dialog('open');
				}
				if ((valido == "No")&&(existe != "Sesion")&&(existe != "No"))
				{

					document.getElementById('atencion').innerHTML = "<p>"+
					"<span class=\"ui-icon ui-icon-circle-close\" style=\"float:left; margin:0 7px 50px 0;\"></span>"+
					"<b>Se produjo un error: "+existe+"</b></p>";
					$("#atencion").dialog('open');
				}
			}
		}
	};
}

function ComprobarConexion()
{
	document.getElementById('procesando').innerHTML = "Procesando... <img src=\"/jde/img/progreso.gif\" width=\"32\" height=\"32\" align=\"absmiddle\" />";
	$("#procesando").dialog('open');
	var ajax = CrearXHRObject();
	var aleatorio = NumerosAleatorios();
	ajax.open("GET","/jde/Pagos/Herramientas/Generales/ComprobarConexion?random="+aleatorio,true);
	ajax.send(null);
	ajax.onreadystatechange = function()
	{
		if(ajax.readyState == 4)
		{
			if(ajax.status == 200)
			{
				var resp = ajax.responseText;
				//VARIABLES
				var valido_;
				var valido;
				var activa_;
				var activa;
				//OTROS NAVEGADORES
				try
				{
					var parser = new DOMParser();
					var dom = parser.parseFromString(resp,"text/xml");
					valido_ = dom.getElementsByTagName("valido");
					valido = valido_[0].childNodes[0].nodeValue;
					activa_ = dom.getElementsByTagName("activa");
					activa = activa_[0].childNodes[0].nodeValue;
				}
				//INTERNET EXPLORER
				catch (error)
				{
					var xml = new ActiveXObject("Microsoft.XMLDOM");
					xml.async = "false";
					xml.loadXML(resp);
					valido_ = xml.getElementsByTagName("valido");
					valido = valido_[0].firstChild.data;
					activa_ = xml.getElementsByTagName("activa");
					activa = activa_[0].firstChild.data;
				}
				//RESULTADO XML
				if ((valido == "Si")&&(activa == "Si"))
					accion = "guardar_formulario";
				if ((valido == "No")&&(activa == "No"))
					accion = "conexion_inactiva";
				EjecutarAccion();
			}
		}
	};
}

function ComprobarPermiso()
{
	var ajax = CrearXHRObject();
	var aleatorio = NumerosAleatorios();
	ajax.open("GET","/jde/Pagos/Herramientas/Generales/ComprobarPermiso?flag=ok&random="+aleatorio,true);
	ajax.send(null);
	ajax.onreadystatechange = function()
	{
		if(ajax.readyState == 4)
		{
			if(ajax.status == 200)
			{
				var resp = ajax.responseText;
				//VARIABLES
				var valido_;
				var valido;
				var permitido_;
				var permitido;
				//OTROS NAVEGADORES
				try
				{
					var parser = new DOMParser();
					var dom = parser.parseFromString(resp,"text/xml");
					valido_ = dom.getElementsByTagName("valido");
					valido = valido_[0].childNodes[0].nodeValue;
					permitido_ = dom.getElementsByTagName("permitido");
					permitido = permitido_[0].childNodes[0].nodeValue;
				}
				//INTERNET EXPLORER
				catch (error)
				{
					var xml = new ActiveXObject("Microsoft.XMLDOM");
					xml.async = "false";
					xml.loadXML(resp);
					valido_ = xml.getElementsByTagName("valido");
					valido = valido_[0].firstChild.data;
					permitido_ = xml.getElementsByTagName("permitido");
					permitido = permitido_[0].firstChild.data;
				}
				//RESULTADO XML
				if ((valido == "Si")&&(permitido == "No"))
				{
					document.getElementById('todo').innerHTML = "<p align=\"center\">"+
					"<img src=\"/jde/img/alerta.png\" width=\"24\" height=\"24\" align=\"absmiddle\" />"+
					"&nbsp;USTED NO PUEDE TENER ACCESO A LA OPCI&Oacute;N SOLICITADA:<br/><br/>"+
					"- <b>Agregar usuario.</b></p>";
				}
			}
		}
	};
}

function Cancelar()
{
	accion = "cancelar";
	document.getElementById('confirmacion').innerHTML = "<p>"+
	"<span class=\"ui-icon ui-icon-alert\" style=\"float:left; margin:0 7px 50px 0;\"></span>"+
	"&iquest;Seguro desea salir de este formulario?</p>";
	$("#confirmacion").dialog('open');
}

function ToolTip(elemento)
{
	var texto = elemento.value;
	if (texto.length == 0)
		elemento.title = "Sin datos";
	else
		elemento.title = texto;
}